设备面板多语言业务包 您所在的位置:网站首页 ios developer和public 设备面板多语言业务包

设备面板多语言业务包

2023-04-05 15:56| 来源: 网络整理| 查看: 265

涂鸦设备面板多语言业务包是在集成涂鸦 智能生活 App SDK 的前提下,通过调用设备面板多语言业务包,达到更新以及获取对应产品的面板语言包的功能。您可以在 涂鸦 IoT 平台 的产品多语言中维护对应产品多语言的相关词条。

功能说明

通过以下代码来获取相关面板多语言 SDK 的能力:

IPanelI18n i18nManager = TuyaPanelI18nEntrance.getInstance();

build.gradle 文件依赖声明中配置相关依赖:

dependencies { // for panel i18n implementation "com.tuya.smart:tuyasmart-sdk-i18n:1.0.0" // requested implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" }

$kotlin_version 表示需要由您自定义 Kotlin 相关版本。

更新对应面板多语言内容

更新相关面板多语言内容,当内部请求失败时,通过回调通知。

接口说明

void updateI18n(I18nRequestParam requestParam, ITuyaResultCallback listener)

参数说明

参数 说明 requestParam 请求包装参数,您需要维护 productId 和 i18nTime listener 回调,当请求更新成功以及请求更新失败时会触发回调

I18nRequestParam 字段信息

字段 类型 描述 productId String 产品 ID,同一个产品 ID,Schema 信息一致,可通过DeviceBean#getProductId 查询 i18nTime Long 对应产品多语言时间戳,可通过 DeviceBean#getI18nTime 查询

示例代码

public void updateI18n(String productId, long i18nTime){ I18nRequestParam param = new I18nRequestParam(productId, i18nTime); TuyaPanelI18nEntrance.getInstance().updateI18n(param, new ITuyaResultCallback() { @Override public void onSuccess(Object result) { // 更新请求成功 v.updateSuccess(); } @Override public void onError(String errorCode, String errorMessage) { // 更新请求失败 v.updateFail(errorMessage); } }); } 获取对应面板多语言内容

根据 productId 以及 i18nTime 获取对应面板多语言缓存内容。以其中一份产品对应语言包内容为例,您可以通过 SDK 的获取多语言接口功能可以获得全语种多语言内容。面板开始时可以通过指定语种和词条键来获得对应语种内容。需要注意的是,首次获取对应面板多语言内容之前,您需要先调用更新对应面板多语言方法。

接口说明

获取到的 Map 采用键值对格式,一级键表示语种,例如 en。键的值继续采用键值对格式,二级键表示对应词条,值为词条对应语种的文案。

Map getI18nMap(I18nRequestParam requestParam)

参数说明

参数 说明 requestParam 请求包装参数,您需要维护 productId 和 i18nTime

示例代码

public void showI18n(){ long homeId = 1L; // 获取deviceBean DeviceBean deviceBean = TuyaHomeSdk.newHomeInstance(homeId).getHomeBean().getDeviceList().get(0); // 通过deviceBean获取产品id String productId = deviceBean.getProductId(); // 获取语言包时间戳 long i18nTime = deviceBean.getI18nTime(); // 获取对应pid的语言包map Map contentMap = TuyaPanelI18nEntrance.getInstance().getI18nMap(new I18nRequestParam(productId, i18nTime)); for (Map.Entry langEntry : contentMap.entrySet()) { // key为语种 String lang = langEntry.getKey(); for(Map.Entry entry : langEntry.getValue().entrySet()){ // key为词条key String key = entry.getKey(); // value为对应语种的对应词条的多语言内容 String i18nValue = (String) entry.getValue(); } } // 以获取英文语种下的power_tip词条为例 String lang = "en"; String key = "power_tip"; String i18nValue = (String) contentMap.get(lang).get(key); }

返回示例

{ "en":{ "cancel":"Cancel", "removeFailed":"Failed to remove the device", "TYTimer_endTimeTilte":"End Time", "power_tip":"Tap to start", "openBle":"Open Bluetooth", "Edit":"Edit", "setting":"Setting", "TYTimer_editTimer":"Edit", "mode_white":"White Mode", "8ea247cc_label":"Scene", "TYTimer_dayOnce":"Once", "dp_battery":"BATTERY", "quickop_dp_temp_value":"Color Temp", "scene_leisure":"Leisure", "d0ba1d23_label":"White", "backToHome":"Back Home", "TYTimer_dayEvery":"EveryDay", "day8":"Once", "day6":"Sat", "day7":"Everyday", "day4":"Thur", "day5":"Fri", "day2":"Tues", "day3":"Wed", "day0":"Sun", "day1":"Mon" }, "zh_Hans_CN":{ "cancel":"取消", "removeFailed":"删除失败", "TYTimer_endTimeTilte":"结束时间", "power_tip":"点击开灯", "openBle":"开启系统蓝牙", "Edit":"编辑", "setting":"设置", "TYTimer_editTimer":"编辑", "mode_white":"白光模式", "8ea247cc_label":"情景", "TYTimer_dayOnce":"仅一次", "dp_battery":"剩余电量", "quickop_dp_temp_value":"冷暖值", "scene_leisure":"休闲", "d0ba1d23_label":"白光", "backToHome":"返回首页", "TYTimer_dayEvery":"每天", "day8":"仅此一次", "day6":"星期六", "day7":"每天", "day4":"星期四", "day5":"星期五", "day2":"星期二", "day3":"星期三", "day0":"星期天", "day1":"星期一" } }


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有